DETACH_SUBJECT="So Long and thanks for all the fish..."
DETACH_FILE="Rexx:Spot/AFM/AFManager.announce"
PREF_FILE="Areafixman.prefs"
EDITOR="Rexx:StartCed.rexx"
CHAR="~"
CHARNAME="Tilde"
CURRENTFORMAT="FORMAT 2.6"
MAXACTION=20
FILE="ENV:"||PREF_FILE
FILESAVE="ENVARC:"||PREF_FILE
TEMP="T:Spot.AFManager.temp"
TEMP2="T:Spot.AFManager.temp2"
LF="0d"x
Tmp=0
Fromnumber=0
Fromarea="NONE"
message=""
helpmsg.=""
helpitems=3
helpmsg.1="Messages to AreaFix should be in your MATRIX/NETMAIL areas."||LF
helpmsg.1=helpmsg.1||"If you send it in any other area, other people may see your"||LF
helpmsg.1=helpmsg.1||"password and assume your identity."
helpmsg.2="If you started AFM from a message, selecting MESSAGE will"||LF
helpmsg.2=helpmsg.2||"bring up an editor with it's content. You can then put the"||LF
helpmsg.2=helpmsg.2||"character '"||CHARNAME||"' in front of areanames you wish to attach."||LF
helpmsg.2=helpmsg.2||"The FILE option will do the same with a file of your choice."||LF||LF
helpmsg.2=helpmsg.2||"¹AFM will retrieve only ONE area name per line."||LF
helpmsg.2=helpmsg.2||"²Remember, you must use the REALNAMES for Areafix to work."
helpmsg.3="AFM can send a predefined message in the area"||LF
helpmsg.3=helpmsg.3||"you are detaching from. The current message is:"||LF
helpmsg.3=helpmsg.3||DETACH_FILE
If ~show('ports','SPOT') Then Do
Say '+++ Error! You must be in SPOT to use this script.'
Exit 10
End
Address SPOT
OPTIONS RESULTS
SIGNAL ON BREAK_C
SIGNAL ON SYNTAX
SIGNAL ON NOVALUE
SIGNAL ON FAILURE
'isiconified'
If RC=0 Then 'uniconify'
Tmp=verifyprefsfile()
If Tmp>9 Then Exit 10
If Tmp>0 Then Exit
Call Close('PREFS')
'ismessages'
If RC=0 Then Do
'getnummsgs'
If RESULT>0 Then Do
'getmessagenum'
Fromnumber=RESULT
'getareaname'
Fromarea=RESULT
End
End
'isarealist'
If ~(RC=0) Then 'arealist'
Do Forever
'requestarea' 'TITLE "Areafix to which area?"'
If RC>0 Then Exit
'gotoarea' RESULT
If RC=0 Then Leave
End
'getareaname'
REAL_NAME=RESULT
If ~(left(REAL_NAME,3)='NET') Then Do Forever
'gotomatrixarea'
If RC=0 Then Do
'getareaname'
MATRIXNAME=RESULT
MATRIXNAME2='_NET('substr(RESULT,5)')'
'gotoarea' REAL_NAME
'requestresponse PROMPT "'REAL_NAME' is not a NETMAIL area!'LF'Do you really wish to Areafix to a public echo?" GADGETS "'MATRIXNAME2'|_Continue|_Help|_QUIT" CENTER'
If RC=0 Then Exit
If RC=1 Then Do
REAL_NAME=MATRIXNAME
'gotoarea' MATRIXNAME
Leave
End
If RC=2 Then Leave
If RC=3 Then Call help(1)
End
Else Do
'requestresponse PROMPT "'REAL_NAME' is not a NETMAIL area!'LF'Do you really wish to Areafix to a public echo?" GADGETS "_Continue|_Help|_QUIT" CENTER'
If RC=0 Then Exit
If RC=1 Then Leave
If RC=2 Then Call help(1)
End
End
Tmp=verifyprefsfile()
If Tmp>9 Then Exit 10
If Tmp>0 Then Exit
DEFAULTBOSS='1:167/151'
DEFAULTPASS='yourpassword'
Do Until EOF('PREFS')
DUMMY='dummy'
AREA=Strip(ReadLn('PREFS'),'L')
ADDRESS=Strip(ReadLn('PREFS'),'L')
PASS=Strip(ReadLn('PREFS'),'L')
AREAFIX=Strip(ReadLn('PREFS'),'L')
If Length(PASS)>0 Then DEFAULTPASS=PASS
If Length(ADDRESS)>0 Then DEFAULTBOSS=ADDRESS
COMMENT=Strip(ReadLn('PREFS'),'L')
If Length(COMMENT)=0 Then Do
COMMENT='Options'
End
Else Do
ANNOUNCE=Strip(ReadLn('PREFS'),'L')
If Length(ANNOUNCE)=0 Then Do
ANNOUNCE='No Announce'
DUMMY=''
End
Else Do
Do until Length(DUMMY)=0
DUMMY=ReadLn('PREFS')
End
End
End
If AREA=REAL_NAME Then Do
Call Close('PREFS')
Signal DOAREAFIX
End
End
Call Close('PREFS')
'requeststring TITLE "Boss" PROMPT "Enter the address of your boss'LF'for the area 'REAL_NAME'." DEFAULT 'DEFAULTBOSS' CENTER'
If RC>0 Then Exit
ADDRESS=RESULT
'requeststring TITLE "Password" PROMPT "Enter your password for this boss." DEFAULT 'DEFAULTPASS' CENTER'
If RC>0 Then Exit
PASS=RESULT
'requeststring TITLE "AreaFix" PROMPT "Enter name of the Areafix handler'LF'for this boss or leave unaltered." DEFAULT "Areafix" CENTER'
If RC>0 Then Exit
AREAFIX=RESULT
'requeststring TITLE "Comment" PROMPT "Enter optional comment/reminder for this area." CENTER'
If RC>0 Then Exit
COMMENT=RESULT
If Length(COMMENT)=0 Then COMMENT="Options"
ANNOUNCE='AnnounceDummy'
'requestresponse PROMPT "You have changed the prefs." GADGETS "_Save|_Use|_QUIT" CENTER'
If RC=0 Then Exit
saveit=RC
If ~Open('PREFS',FILE,'a') Then Do
'requestnotify PROMPT "FATAL ERROR!'LF'Could not re-open prefs file ('FILE')"'
Exit 10
End
Call WriteLn('PREFS',REAL_NAME)
Call WriteLn('PREFS',ADDRESS)
Call WriteLn('PREFS',PASS)
Call WriteLn('PREFS',AREAFIX)
Call WriteLn('PREFS',COMMENT)
Call WriteLn('PREFS',ANNOUNCE)
Call WriteLn('PREFS','')
Call Close('PREFS')
If saveit=1 Then Address COMMAND 'Copy 'FILE FILESAVE
DOAREAFIX:
COUNT=0
ENTRY.=''
Address COMMAND
'Delete >NIL: 'TEMP
'Delete >NIL: 'TEMP2
Address SPOT
FIXAREA:
Do Forever
TEXT=''
AFMCommand=0
'arealist'
If COUNT>0 Then Do c=1 To (COUNT-1)
If LENGTH(ENTRY.c)>30 Then TEXT2=Left(ENTRY.c,30)'...'
Else TEXT2=ENTRY.c
If c<10 Then TEXT=TEXT||'(0'c') '||TEXT2||LF
Else TEXT=TEXT||'('c') '||TEXT2||LF
End
If LENGTH(ENTRY.COUNT)>30 Then TEXT2=Left(ENTRY.COUNT,30)'...'
Else TEXT2=ENTRY.c
If COUNT<10 Then TEXT=TEXT||'(0'COUNT') '||TEXT2
Else TEXT=TEXT||'('COUNT') '||TEXT2
If COUNT<MAXACTION Then Do
If COUNT>0 Then Do
'requestresponse TITLE "'COMMENT'" PROMPT "'TEXT'" GADGETS "_Attach|_Detach|_Erase Action|_Done|_Quit"'
AFMCommand=RC
End
Else Do
'requestresponse TITLE "'COMMENT'" PROMPT "(no command)" GADGETS "_Attach|_Detach|_Done|_Quit"'
AFMCommand=RC
If AFMCommand=3 Then AFMCommand=4
End
End
Else Do
'requestresponse TITLE "'COMMENT'" PROMPT "'TEXT'" GADGETS "_Erase Action|_DONE|_QUIT"'